#{extends 'main.html' /}
#{set title:'Formulario' /}


<script type="text/javascript">


function verifica_extensao() {
var extensoesOk = ",.rar,.zip,";

var ele = document.getElementById("photo");
var extensao = "," + ele.value.substr( ele.value.length - 4 ).toLowerCase() + ",";
if (ele.value == "")
{
	alert("O campo do endereço da imagem está vazio!!")
	return false;
}
else if( extensoesOk.indexOf( extensao ) == -1 )
{ 

	alert( ele.value + "\nNão possui uma extensão válida" );
	return false;
}

return true;
}
 

// Metodo para validar o Email
function checkMail(mail){
        var er = /^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{1,}\.[A-Za-z0-9]{1,}(\.[A-Za-z0-9])?/;
        if(typeof(mail) == "string"){
                if(er.test(mail)){
                
                	return true;
                }
        }else if(typeof(mail) == "object"){
                if(er.test(mail.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}
// Metodo para validar o CEP
function checkCEP(cep){
        var er = /^[0-9]{8}$/;
        if(typeof(cep) == "string"){
                if(er.test(cep)){
                
                	return true;
                }
        }else if(typeof(cep) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar a MATRICULA
function checkMatricula(mat){
        var er = /^[0-9]{5,20}$/;
        if(typeof(mat) == "string"){
                if(er.test(mat)){
                
                	return true;
                }
        }else if(typeof(mat) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar o UF
function checkUF(uf){
        var er = /^[A-Za-z]{2,}$/;
        if(typeof(uf) == "string"){
                if(er.test(uf)){
                
                	return true;
                }
        }else if(typeof(uf) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar o Endereço!
function checkUF(end){
        var er = /^[A-Za-z]{2,}$/;
        if(typeof(end) == "string"){
                if(er.test(end)){
                
                	return true;
                }
        }else if(typeof(end) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar o Bairro!
function checkUF(b){
        var er = /^[A-Za-z]{2,}$/;
        if(typeof(b) == "string"){
                if(er.test(b)){
                
                	return true;
                }
        }else if(typeof(b) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar a Cidade!
function checkUF(cid){
        var er = /^[A-Za-z]{2,}$/;
        if(typeof(cid) == "string"){
                if(er.test(cid)){
                
                	return true;
                }
        }else if(typeof(cid) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar o N°
function checkNum(num){
        var er = /^[0-9]{1,}$/;
        if(typeof(num) == "string"){
                if(er.test(num)){
                
                	return true;
                }
        }else if(typeof(num) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

// Metodo para validar o Telefone
function checkTelefone(phone){
        var er = /^[0-9]{10,}$/;
        if(typeof(phone) == "string"){
                if(er.test(phone)){
                
                	return true;
                }
        }else if(typeof(phone) == "object"){
                if(er.test(cep.value)){ 
                                        return true; 
                                }
        }
        
        return false;                
}

function verificaForm() {


	var email = document.getElementById("email");
	var cep = document.getElementById("CEP");
	var noerror = true; //Verifica se houve erro
	var aviso = "Campos Inválidos:\n";
	
	var obrig = [
					["cnome", "O campo nome é obrigatório. "],
					["matricula", "O campo matrícula é obrigatório. "],
					["email", "O campo e-mail é obrigatório. "],
					["cjust", "O campo justificativa é obrigatório. "],
					["creq", "O campo requerimento é obrigatório. "]
				];
	
	for (var obg in obrig) {
	
		var get = $("#" + obrig[obg][0]).val();
		if (get == "") {
		
			aviso += obrig[obg][1];
			noerror = false;
		}
	}
	
	if (!checkMail(email.value)) {
		aviso += "Email, "
		email.style.color = "red";
		noerror = false;
	}
	
	if (!checkCEP(cep.value)) {
		aviso += "CEP, "
		cep.style.color = "red";
		noerror = false;
	}
	
	if (!checkMatricula(matricula.value)) {
		aviso += "Matricula, "
		matricula.style.color = "red";
		noerror = false;
	}
	
	if (!checkUF(UF.value)) {
		aviso += "UF, "
		UF.style.color = "red";
		noerror = false;
	}
	
	if (!checkNum(numero.value)) {
		aviso += "N°, "
		numero.style.color = "red";
		noerror = false;
	}
	
	if (!checkTelefone(telefone.value)) {
		aviso += "Telefone, "
		telefone.style.color = "red";
		noerror = false;
	}
	
	var extensoesOk = ",.rar,.zip,";

	var ele = document.getElementById("photo");
	var extensao = "," + ele.value.substr( ele.value.length - 4 ).toLowerCase() + ",";
	if (ele.value == "")
	{
		aviso += "É necessario anexar um arquivo";
		noerror = false;
	}
	else if( extensoesOk.indexOf( extensao ) == -1 )
	{ 
	
		aviso += ele.value + "<br />Não possui uma extensão válida";
		noerror = false;
	}
	
	if(noerror == false){
		
		$("#div_error").html("");
		$("#div_error").append(aviso);
		//$("#div_error").fadeTo(10000, 1);
	}
	
	return noerror;
}

function sendForm() {

	var getForm = document.forms[0]; 
	if (verificaForm()) {
	
		getForm.submit();
	}
}
</script>

<div id ="form">
<div align= "center">
<h3> Formulário de Requerimento PPGI <br> </h3>
<div style="color : #ffd400; opacity : 0%; font-size : 15px" id="div_error"></div><br />

    #{ifErrors}
 <font color="yellow">Alguns campos obrigatórios não foram preenchidos.</font>
 	#{/ifErrors}
</div>
#{form @Formulario.submit(), enctype:'multipart/form-data'}
Nome(*):<input type="Text" id="cnome" name="req.aluno" size="50" value="${flash['req.aluno']}" maxlength="39">
Matricula(*):<input type="Text" name="req.matricula" id="matricula" size="30" value="${flash['req.matricula']}" maxlength="9"><p> 
Endereço:<input type="Text" name="req.endereco" id="endereco" size="74" value="${flash['req.endereco']}">
Nº:<input type="Text" name="req.numero" id="numero" size="10" value="${flash['req.numero']}"><p> 
Bairro:   <input type="Text" name="req.bairro" id="bairro" size="30" value="${flash['req.bairro']}" maxlength="30">
Cidade: <input type="Text" name="req.cidade" id="cidade" size="31" value="${flash['req.cidade']}" maxlength="14">
UF:   <input type="Text" name="req.uf" id="UF" size="8" value="${flash['req.uf']}" maxlength="2"><p> 
CEP:   <input type="Text" name="req.cep" id = "CEP" size="21" value="${flash['req.cep']}" maxlength="8">
Telefone:   <input type="Text" name="req.fone" id = "telefone" size="10" value="${flash['req.fone']}">
Email(*):   <input type="Email" name="req.email" id = "email" size="25" value="${flash['req.email']}"><p>
Venho requerir ao Programa de Mestrado em Informática da UFPB o (a) (*)<br> <textarea id="creq" name="req.requerimento" cols="65" rows="7" value="${flash['req.requerimento']}"></textarea><br> <P>

Justificativa(*)<br> <textarea id="cjust" name="req.justificativa" cols="65" rows="5" value="${flash['req.justificativa']}"></textarea><br> <P>
Anexos(.rar)(*): <input type = "file" name = "photo" id="photo"><p>

<input type="button" value="Enviar" onclick="javascript:sendForm();" > 


#{/form}
* Campos Obrigatórios
</div>


